package mundo;

public class SimboloLexico {

	private String lexema;
	private String token;
	private int fila;
	private int columna;

	public SimboloLexico(String lexema, String token, int fila, int columna) {
		this.lexema = lexema;
		this.token = token;
		this.fila = fila;
		this.columna = columna;
	}

	public int getColumna() {
		return columna;
	}

	public int getFila() {
		return fila;
	}

	public String getLexema() {
		return lexema;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}
	public String traducirSimbolo() {
		String retorno="";
		if(token==Token.IDENTIFICADOR){
			retorno=lexema;
		}
		else if(token==Token.NULO){
			retorno="null";
		}
		else if(token==Token.ESTE){
			retorno="this";
		}
		else if(token==Token.REAL){
			String lexemaR="";
			for (int i = 0; i < lexema.toCharArray().length; i++) {
				if(lexema.charAt(i)=='.'){
					lexemaR+=',';
				}
				else
					lexemaR+=lexema.charAt(i);
			}
			retorno=lexemaR;
		}
		else if(token==Token.OPERADOR_ARITMETICO){
			retorno=lexema;
		}
		else if(token==Token.OPERADOR_LOGICO){
			retorno=lexema;
		}
		else if(token==Token.OPERADOR_RELACIONAL){
			if(lexema.equals("_sig")){
				retorno=">=";
			}
			else if(lexema.equals("_mig")){
				retorno="<=";
			}
			else if(lexema.equals("_sq")){
				retorno=">";
			}
			else if(lexema.equals("_mq")){
				retorno="<";
			}
			else if(lexema.equals("_ig")){
				retorno="==";
			}
			else if(lexema.equals("_nig")){
				retorno="!=";
			}
		}
		else if(token==Token.ENTERO){
			retorno=lexema;
		}
		else if(token==Token.ENT){
			retorno="int";
		}
		else if(token==Token.REAL_RESERVADA){
			retorno="double";
		}
		else if(token==Token.CAD){
			retorno="String";
		}
		else if(token==Token.CAR){
			retorno="char";
		}
		else if(token==Token.VERDADERO){
			retorno="true";
		}
		else if(token==Token.FALSO){
			retorno="false";
		}
		return retorno;
	}

}
